home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1996 May: Tool Chest / Developer CD Series May 1996 (Tool Chest) (Apple Computer) (1996).iso / Tool Chest / Development Tools & Languages / Dylan Related / Mindy / Mindy 1.2 - portable sources / libraries / coll-ext / library.dylan < prev    next >
Encoding:
Text File  |  1995-03-15  |  2.5 KB  |  69 lines  |  [TEXT/ttxt]

  1. module:        dylan-user
  2. rcs-header:    $Header: library.dylan,v 1.5 94/11/22 16:58:41 nkramer Exp $
  3.  
  4. //======================================================================
  5. //
  6. // Copyright (c) 1994  Carnegie Mellon University
  7. // All rights reserved.
  8. // 
  9. // Use and copying of this software and preparation of derivative
  10. // works based on this software are permitted, including commercial
  11. // use, provided that the following conditions are observed:
  12. // 
  13. // 1. This copyright notice must be retained in full on any copies
  14. //    and on appropriate parts of any derivative works.
  15. // 2. Documentation (paper or online) accompanying any system that
  16. //    incorporates this software, or any part of it, must acknowledge
  17. //    the contribution of the Gwydion Project at Carnegie Mellon
  18. //    University.
  19. // 
  20. // This software is made available "as is".  Neither the authors nor
  21. // Carnegie Mellon University make any warranty about the software,
  22. // its performance, or its conformity to any specification.
  23. // 
  24. // Bug reports, questions, comments, and suggestions should be sent by
  25. // E-mail to the Internet address "gwydion-bugs@cs.cmu.edu".
  26. //
  27. //======================================================================
  28.  
  29. // The library "collection-extensions" contains a variety of small modules
  30. // which are not in the core language but are expected to be generally useful.
  31. // These include new collection classes implementing heaps (i.e. priority
  32. // queues), "self organizing" lists, and subsequences (also known as
  33. // "slices"), and a routines for efficient search and replace on
  34. // <byte-string>s.  Documentation for these routines may be found in
  35. // collection-extension.doc.
  36.  
  37. define library collection-extensions
  38.   use dylan;
  39.   export heap, self-organizing-list, vector-search, subseq;
  40. end library collection-extensions;
  41.  
  42. define module heap
  43.   // Since "<heap>" is a subclass of "<sequence>", most methods are simply
  44.   // added to existing generic functions.  The only "new" operation is
  45.   // "random-iteration-protocol".
  46.   use dylan;
  47.   use extensions, import: {<fixed-integer>};
  48.   export <heap>, random-iteration-protocol;
  49. end module heap;
  50.  
  51. define module self-organizing-list
  52.   use dylan;
  53.   use extensions, import: {<dictionary>};
  54.   export <self-organizing-list>;
  55. end module self-organizing-list;
  56.  
  57. define module vector-search
  58.   use dylan;
  59.   use extensions, import: {<fixed-integer>};
  60.   use subseq;
  61.   export find-first-key, find-last-key;
  62. end module vector-search;
  63.  
  64. define module subseq
  65.   use dylan;
  66.   use extensions, import: {<fixed-integer>};
  67.   export subsequence, <subsequence>;
  68. end module subseq;  
  69.